package com.bbva.gptf.back.transformador;

import java.util.Locale;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.core.convert.converter.Converter;

import com.bbva.gptf.back.dominio.Tgpt004Fichero;
import com.bbva.gptf.dto.bean.Fichero;
import com.bbva.jee.arq.spring.core.log.I18nLog;
import com.bbva.jee.arq.spring.core.log.I18nLogFactory;

/**
 * @author Javier Estrella Rodriguez
 * @version 1.0
 * @created 07-ene-2013 18:56:31
 */
public class Tgp004FicheroTransformador implements Converter<Fichero, Tgpt004Fichero>{	

	@Autowired
	@Qualifier("locale_ES")
	private transient Locale localizacion;

	private I18nLog log = I18nLogFactory.getLogI18n(Tgp004FicheroTransformador.class);
	
	@Autowired
	private transient Tgp003ProcesoFicheroTransformador procesoFicheroTransformador;

	@Autowired
	private transient Tgpt001FuenteFicheroTransformador fuenteFicheroTransformador;
	
	@Override
	public Tgpt004Fichero convert(Fichero source) {
		if(log.isTraceEnabled()) log.trace(localizacion, "entrada.metodo", "Fichero convert(Tgpt004Fichero source)");
		Tgpt004Fichero fichero = new Tgpt004Fichero();
		fichero.setCdFichero(source.getCdFichero());
		fichero.setCdFuente(fuenteFicheroTransformador.convert(source.getFuente()));
		fichero.setCdProceso(procesoFicheroTransformador.convert(source.getProceso()));
		fichero.setNbMascara(source.getNbMascara());
		fichero.setNbDescripcion(source.getNbDescripcion());
		fichero.setNuOrdenCarga(source.getNuOrdenCarga());
		fichero.setStCargaIntradia(source.getStCargaIntradia());
		fichero.setStCargaInicio(source.getStCargaInicio());
		fichero.setStCargaFichero(source.getStCargaFichero());
		fichero.setStFichero(source.getStFichero());
		fichero.setTmUmo(source.getTmUmo());
		fichero.setFhUmo(source.getFhUmo());
		fichero.setCdUsuarioUmo(source.getCdUsuarioUmo());
		return fichero;
	}
	
	public void setProcesoFicheroTransformador(
			Tgp003ProcesoFicheroTransformador procesoFicheroTransformador) {
		this.procesoFicheroTransformador = procesoFicheroTransformador;
	}

	public void setFuenteFicheroTransformador(
			Tgpt001FuenteFicheroTransformador fuenteFicheroTransformador) {
		this.fuenteFicheroTransformador = fuenteFicheroTransformador;
	}
	
	public void setLocalizacion(Locale localizacion) {
		this.localizacion = localizacion;
	}
}